package net.lab1024.sa.base.module.support.wxsm.domain.form;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotBlank;
import lombok.Data;
import net.lab1024.sa.base.common.json.deserializer.DictDataDeserializer;


/**
 * 消息推送 新建表单
 *
 * @Author chenyuqiang
 * @Date 2025-09-06 23:11:23
 * @Copyright 1
 */

@Data
public class WxsmAddForm {

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "标题 不能为空")
    private String title;

    @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "模板名称 不能为空")
    private String name;

    @Schema(description = "kql", requiredMode = Schema.RequiredMode.REQUIRED)
    private String ksql;

    @Schema(description = "规则", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "规则 不能为空")
    private String epl;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "状态 不能为空")
    @JsonDeserialize(using = DictDataDeserializer.class)
    private String socStatus;

    @Schema(description = "wxsign", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "wxsign 不能为空")
    private String wxsign;

    @Schema(description = "消息模板", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "消息模板 不能为空")
    private String smsTemp;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "创建时间 不能为空")
    private String createTime;

    @Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "修改时间 不能为空")
    private String updateTime;

    @Schema(description = "创建用户", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "创建用户 不能为空")
    private String createUser;

    @Schema(description = "修改用户", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "修改用户 不能为空")
    private String updateUser;

    @Schema(description = "表达式", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "表达式 不能为空")
    private String cron;

    @Schema(description = "状态2", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "状态2 不能为空")
    private String type;

}